#ifndef BUSINESSTYPE_H_
#define BUSINESSTYPE_H_

#include <string>

#include <ext/hash_map>
namespace stdext
{
	using namespace __gnu_cxx;
}

namespace test_gs_fakes
{

class BusinessType
{
public:
	BusinessType( const char * businessInfo );
	BusinessType();
	const std::string & getBusinessInfo() const;
	bool operator == ( const BusinessType & that ) const;

private:
	std::string businessInfo;
};

class BsnsHashMapSupport
{
public:
	size_t operator () ( const BusinessType & bt ) const;
	bool operator () ( const BusinessType & a, const BusinessType & b ) const;
};

class ExtBusiness : public BusinessType
{
public:
	ExtBusiness( const char * businessInfo );
	operator const std::string & () const;
	const ExtBusiness & operator = ( const std::string & businessInfo );
};

}

#endif /* BUSINESSTYPE_H_ */
